Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | import Link from 'next/link' import { css } from '../../../../styled-system/css' import { stack } from '../../../../styled-system/patterns' /** * Lightweight Not Found page for invalid student IDs * * Shown when navigating to /practice/[studentId] with an ID that doesn't exist. * Deliberately doesn't import PageWithNav or other heavy components to keep * the not-found bundle small (avoiding ~2.4MB of JS loaded on every page). */ export default function StudentNotFound() { return ( <div data-component="practice-not-found" className={css({ minHeight: '100vh', display: 'flex', alignItems: 'center', justifyContent: 'center', bg: 'gray.50', padding: '2rem', })} > <div className={stack({ gap: '1rem', alignItems: 'center', textAlign: 'center', })} > <div className={css({ fontSize: '4rem' })}>🔍</div> <h1 className={css({ fontSize: '1.5rem', fontWeight: 'bold', color: 'gray.800', })} > Student Not Found </h1> <p className={css({ color: 'gray.600' })}> We couldn't find a student with this ID. They may have been removed. </p> <Link href="/practice" scroll={false} className={css({ display: 'inline-block', padding: '0.75rem 2rem', fontSize: '1rem', fontWeight: 'bold', color: 'white', backgroundColor: 'blue.500', borderRadius: '8px', textDecoration: 'none', _hover: { backgroundColor: 'blue.600' }, })} > Select a Student </Link> </div> </div> ) } |